home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gamers Delight 2
/
Gamers Delight 2.iso
/
Aminet
/
game
/
misc
/
CritturCauldrn.lzh
/
Crittur_Cauldron.doc
< prev
next >
Wrap
Text File
|
1993-10-15
|
9KB
|
221 lines
Crittur Cauldron
by Thom Robertson
INTRODUCTION
Thank you for reading this, the documentation for Crittur Cauldron.
Crittur Cauldron is a simple simulation of life. Unlike games like "life", which
are examples of cellular automata, Crittur Cauldron models life as individual
critters (plants, herbivores, and carnivores), and keeps track of their birth,
life, and death.
Crittur Cauldron is not really a game so much as it is a thinking toy. Each
time you run Crittur Cauldron, a world is created, and one plant (hereafter known
as Eve) is created. She multiplies, and her children do likewise. Some births
can be mutations, changing the speed of the species, the distance the plant can
throw her seeds, and sometimes fundamental changes from plant to herbivore and
from herbivore to carnivore.
Because of a small number of random elements, Crittur Cauldron is
different each time you run it, but the laws of natural selection control the
ultimate destiny of the world. Changing most of the fundamental aspects
governing the laws of the world can be done simply by editing a configuration
text file.
Some worlds will have short, brutal lives, while others can settle down into a
self-sustaining state. Either way, Crittur Cauldron is sure
to provide many hours of facinating and thought-provoking fun.
HOW TO USE
Crittur Cauldron should be a set of files together in the same directory.
Check to make sure you have:
CC.IFF
ccdata.txt
Crittur_Cauldron.doc
CC_order_form.txt
Crittur_Cauldron.info
Crittur_Cauldron
Execute "Crittur_Cauldron" from the Workbench by clicking its icon, or from the
CLI by typing the name.
Crittur Cauldron will appear, and since it starts right away, you may not be able
to see the
green "A" character in the middle of the display (Eve), because many other "A"s
and "B"s (her children) will be spreading out from the center. Some plants
(the green letters) will have different letter designations. This means that
they are a seperate species, mutated from Eve's original genetic code.
Sooner or later, you will see a blue letter. Blue letters are herbivores, who
begin happily munching on green letters and giving birth to more blue letters.
One of THOSE may mutate into a red letter, which means it's a carnivore.
The genome of a critter (traits it shares with others of its species) is very
simple, with three variables:
Type - whether it's plant, herbivore, or carnivore.
Speed - how many steps it can take towards food each game cycle (plants can't
move, even when they have this trait).
Birth Distance - the maximum range a crittur may be borne away from its parent.
This simulates plant seeds that scatter in the wind, or move
through other methods. Herbivores and carnivores have this
trait, too. It is interesting to see whether natural selection
breeds this out of them.
The text at the lower right of the screen shows the last mutation occuring.
This text is updated everytime a mutation occurs, even if the mutation results
in a species that already exists.
When you get tired of watching this world, hit any key, wait for the play
area to go black, and hit any key again to exit from Crittur Cauldron.
If the play area goes black of it's own occord, this means that the world was
unstable and didn't survive. Press any key to exit.
WHAT IT DOES
Crittur Cauldron makes a simple but honest attempt to model
life, it's births, deaths, and principles. Starting with Eve, the program runs
an endless cycle, keeping track of every creature.
Each creature is modeled with this information:
Type - whether it's plant, herbivore, or carnivore.
Speed - how many steps it can take towards food each game cycle (plants can't
move, even when they have this trait).
Birth Distance - the maximum range a crittur may be borne away from its parent.
Letter - the character that represents it on the screen. This character, like
most other traits, is inherited from the creature's parent, UNLESS
the child is borne with a mutation. In that case, the child recieves
the same letter as any other creatures with the same genotype that
are currently alive. If the mutant child's genotype is truly unique,
a new letter will be assigned to it.
Age - the number of cycles this creature has been alive. All creatures die of
old age in the same way at approximately the same age.
Energy - an abstract measure of how much food has been eaten vs. the energy
cost of keeping the creature alive. When this drops to 0 or below,
the creature dies. Plants get a set amount of energy from the sun
every cycle. Other types ingest all of the energy of their meal when
they eat it.
X and Y - the position of the creature. Creatures can occupy the same space,
but if plants share the same spot, they also share its sunlight,
making them weak and sickly.
Each cycle, every creature collects its energy. The plants soak up sunlight,
and the herbivores and carnivores move to their prey and ingest them.
Next, every creature is assessed a "cost of living", according to a simple
formula based on it's genotype. This formula is:
cost = (speed / speed coefficient) +
((age / age coefficient))**2 +
(birth range / birth range coefficient) + 1
Speed coefficient, age coefficient, and birth range coefficients are set in the
ccdata.txt file.
As you can see, this formula puts limits on the speed, age, and birth range
of the creature. Age, in particular, is coded so that, as the creature ages,
it becomes harder and harder to survive.
Any creature who's energy drops to 0 or below dies and is removed from the
display.
Next, any creature who has collected enough energy gives birth. The child is
created, given some of the energy of it's parent, and placed in a random
direction at a distance from the parent. How far away it gets is determined
by the parent's birth distance genome, and a random number. This means that
sometimes the child can end up in the same spot as the parent or another
creature, with bad effects if both happen to be plants.
To give birth, creatures have to collect as much energy as:
(life cost of the species) * (birth coefficient)
Once a child is born, it gets (parent's energy) / (birth energy coefficient)
worth of energy to start with. Then the parent's energy drops to one cycle's
worth of life energy for it's genotype.
The birth and birth energy coefficients are defined in the ccdata.txt file,
which you can modify.
Then the cycle begins again.
EDITING THE CCDATA.TXT FILE
The ccdata.txt file is a simple text file containing the various values you can
modify about the world. When Crittur Cauldron is run, this
file is read in, and its values are used for the the various calculations.
The file should not be renamed something different or put in a different
directory if you expect Crittur Cauldron to find and use it.
However, after finding a set of values that provide interesting results, you
may want to keep a copy of that ccdata.txt file in another directory, so that
you don't loose those particular settings and can share them with friends or
students.
You can use any text editor or word processor, as long as the editor saves the
file as simple ASCII text, without any special control codes. My parser might
actually parse such codes out, but then again, it may not. I don't know.
The file is organized as a series of numbers, each separated by a semicolon.
Also, lines in the file that BEGIN with a pound symbol (#) are comments, and
such lines are ignored. Do not remove, add, or change the order of the numbers,
lest you get funny results. Also, all comment lines MUST begin, at the FIRST
character column, with a pound symbol (#).
For more information about which numbers do what, refer to the ccdata.txt file's
comment lines.
CONCLUSION
Crittur Cauldron was conceived and written by me, Thom Robertson. I reserve
all rights worldwide and claim Crittur Cauldron, name and concept,
Copyright(c) 1993 by Thom Robertson.
Crittur Cauldron is shareware. If you like it, get a kick out of it, use it as
a teaching tool, or simply like fiddling with it and watching the results,
please register.
It costs just $5.00, and entitles you to bug fixes and minor upgrades. I
intend to create major upgrades, too, and registered owners will get discounts
on these.
Register by sending your name and address, along with $5.00 US dollars in
check or money order, to:
Crittur Cauldron Registration
c/o Thom Robertson
803-C Autumn Circle
College Station, TX 77840
When registering, you may also purchase the Amiga Lattice C source code to
Crittur Cauldron for an extra $10.00 US dollars. This purchase gives you the right to
modify and use your copy of the source code in any way you please, for no
additional fee. The only restriction is that you do not use the code to produce
a product that would compete commercially with any version of Crittur
Cauldron.
Please make the check or money order payable to me, Thom Robertson.
Thank you. Have fun!